package com.stefanini.pe.bbva.iivs.in.rpt;

import java.util.List;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;

import com.stefanini.pe.bbva.iivs.in.to.Solicitud;

public class DataSourceReporteSolicitud  implements JRDataSource {

	private List lstDatos;	
	private int index = -1;
	
	public DataSourceReporteSolicitud(List lstDatos) {
		this.lstDatos=lstDatos;	
	}

	public Object getFieldValue(JRField field) throws JRException {
		Solicitud solicitud = (Solicitud)lstDatos.get(index);
		 Object value = null;
		 String fieldName = field.getName();		
				 	 
		 	if ("codigo".equals(fieldName)){
		 		value = (solicitud.getCodSoli()==null)?"":solicitud.getCodSoli();			}
			else if ("oficina".equals(fieldName)){
				value = (solicitud.getDesOfi()==null)?"":solicitud.getDesOfi();			}
			else if ("importe".equals(fieldName)){
				value = (solicitud.getImporte()==null)?"":solicitud.getImporte().toString();			}
			else if ("nomPoderdante".equals(fieldName)){
				value = (solicitud.getPoderante()==null)?"":solicitud.getPoderante();			}
			else if ("tipDocPoderdante".equals(fieldName)){
				value = (solicitud.getTipDocPoder()==null)?"":solicitud.getTipDocPoder();			}
			else if ("doiPoderdante".equals(fieldName)){
				value = (solicitud.getNumDocPoder()==null)?"":solicitud.getNumDocPoder();			}
			else if ("nomApoderado".equals(fieldName)){
				value = (solicitud.getApoderado()==null)?"":solicitud.getApoderado();			}
			else if ("tipDocApoderado".equals(fieldName)){
				value = (solicitud.getTipDocApoder()==null)?"":solicitud.getTipDocApoder();			}
			else if ("doiApoderado".equals(fieldName)){
				value = (solicitud.getNumDocApoder()==null)?"":solicitud.getNumDocApoder();			}
			else if ("codCentral".equals(fieldName)){
				value = (solicitud.getCodCentral()==null)?"":solicitud.getCodCentral();			}
			else if ("tipOperacion".equals(fieldName)){
				value = (solicitud.getOperacionesBancarias()==null)?"":solicitud.getOperacionesBancarias();			}
			else if ("observaciones".equals(fieldName)){
				value = (solicitud.getObs()==null)?"":solicitud.getObs();			}
		 	
		return value;
	}

	public boolean next() throws JRException {
		index++;
		return (index < this.lstDatos.size());
	}

}
